package com.ymatou.iapi.idcardquery.resp;

import java.util.Date;

public class IdCardInfo {
	/**
	*
	* 身份证流水ID
	*/
	private String cardId;

	/**
	 * 买家Id
	 */
	private Long buyerId;

	/**
	 * 收件人姓名
	 */
	private String name;

	/**
	 * 身份证号码
	 */
	private String cardNumber;

	/**
	 * 证件类型：1-身份证
	 */
	private Integer cardType;

	/**
	 * 状态（-1 无效，0-待审核，1-审核通过，可以使用）
	 */
	private Integer status;

	/**
	 * 是否有身份证图片
	 */
	private Boolean hasPic;

	/**
	 * 身份证上传时间
	 */
	private Date uploadTime;

	/**
	 * 收件人手机号
	 */
	private String mobile;

	/**
	 * 身份证审核拒绝原因
	 */
	private String rejectReason;

	/**
	 * 身份证正面照图片地址
	 */
	private String picRightSide;

	/**
	 * 身份证反面照图片地址
	 */
	private String picReverseSide;

	/**
	 * 身份证和个人信息匹配结果
	 * 200匹配成功
	 * 201识别接口内部出错
	 * 202身份证图片识别失败
	 * 203姓名不匹配
	 * 204身份证号码不匹配
	 * 205身份证已过期
	 * 400识别接口请求超时
	 * 500识别接口发生异常
	 */
	private Integer checkIdCardStatus;

	public Long getBuyerId() {
		return buyerId;
	}

	public void setBuyerId(Long buyerId) {
		this.buyerId = buyerId;
	}

	public String getCardId() {
		return cardId;
	}

	public void setCardId(String cardId) {
		this.cardId = cardId;
	}

	public String getCardNumber() {
		return cardNumber;
	}

	public void setCardNumber(String cardNumber) {
		this.cardNumber = cardNumber;
	}

	public Integer getCardType() {
		return cardType;
	}

	public void setCardType(Integer cardType) {
		this.cardType = cardType;
	}

	public Integer getCheckIdCardStatus() {
		return checkIdCardStatus;
	}

	public void setCheckIdCardStatus(Integer checkIdCardStatus) {
		this.checkIdCardStatus = checkIdCardStatus;
	}

	public Boolean getHasPic() {
		return hasPic;
	}

	public void setHasPic(Boolean hasPic) {
		this.hasPic = hasPic;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPicReverseSide() {
		return picReverseSide;
	}

	public void setPicReverseSide(String picReverseSide) {
		this.picReverseSide = picReverseSide;
	}

	public String getPicRightSide() {
		return picRightSide;
	}

	public void setPicRightSide(String picRightSide) {
		this.picRightSide = picRightSide;
	}

	public String getRejectReason() {
		return rejectReason;
	}

	public void setRejectReason(String rejectReason) {
		this.rejectReason = rejectReason;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getUploadTime() {
		return uploadTime;
	}

	public void setUploadTime(Date uploadTime) {
		this.uploadTime = uploadTime;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj instanceof IdCardInfo) {
			IdCardInfo idCardInfo = (IdCardInfo) obj;
			return idCardInfo.getName().equals(this.getName())
					&& idCardInfo.getBuyerId().equals(this.getBuyerId());
		}
		return false;
	}

	@Override
	public int hashCode() {
		return this.getName().hashCode() * this.getBuyerId().hashCode();
	}
}
